Git 环境配置
设置签名
作用:区分不同开发人员的身份 注意:这里设置的签名和登陆远程库(代码托管中心)的账号,密码无关
优先级:
- 就近原则:项目级别优先于系统用户级别,两者都有采用项目级别的签名
- 如果只有系统用户级别的签名,就以系统用户级别的签名为准
- 两者都没有不允许
项目级别/仓库级别:仅在当前目录有效
git config user.name 名字
git config user.email 邮箱
系统用户级别:登陆当前操作系统的用户范围
git config --global user.name 名字
git config --global user.email 邮箱
上面的的配置文件存在 .git
的 config 里,通过 cat .git/config
就能查看
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[user]
name = project_user
email = 3320447910@qq.com
如果要看系统级别的配置文件
cat ~/.gitconfig
[filter "lfs"]
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
clean = git-lfs clean -- %f
[user]
name = alsritter\ngit config --global user.email 3320447910@qq.com
email = 3320447910@qq.com
配置 SSH
参考资料 【Git私服】搭建私有git仓库,免密pull and push
Git 使用 HTTP 协议时,每次 pull, push
都要输入密码,使用 ssh 密钥可以省去每次都输密码。
客户端配置
ssh-keygen
命令会默认在 ~/.ssh/id_rsa.pub
文件里存放了公匙,在 ~/.ssh/id_rsa
文件里存放了密匙。
创建例:
$ ssh-keygen -t rsa -C "your_email@example.com"
$ # 告诉你已经生成了公交和私钥
$ Generating public/private rsa key pair.
$ # 让你输入一个名字来保存内容,不用管,直接回车
$ Enter file in which to save the key (/Users/alsritter/.ssh/id_rsa):
# 输入一次密码
Enter passphrase (empty for no passphrase):
# 再输入一次密码
Enter same passphrase again:
# 私钥已经保存在 /Users/alsritter/.ssh/id_rsa.
Your identification has been saved in /Users/alsritter/.ssh/id_rsa.
# 公钥已经保存在 /Users/alsritter/.ssh/id_rsa.pub.
Your public key has been saved in /Users/alsritter/.ssh/id_rsa.pub.
检查SSH Keys
# 显示出在.ssh文件下的文件,如果存在的话
$ ls -al ~/.ssh
服务器端配置
服务器为 root 用户配置 SSH 公钥,先在服务器上使用 authorized_keys
文件来管理所有用户的 SSH 公钥。(密钥登录的方式比密码登录更安全、更便捷,注意保管好自己的私钥,下面会讲到如何生成秘钥对)
打开服务器的 RSA 认证
# vim /etc/ssh/sshd_config
# (找到下面3行并放开,如果没有添加上)
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
重启 sshd 服务
service sshd restart
客户端操作
生成秘钥对
cd ~/.ssh
ssh-keygen -t rsa -C “youremail@example.com”
(会在 ~/.ssh 目录下生成两个文件 ,id_rsa id_rsa.pub)
上传 id_rsa.pub
到服务的(上传公共秘钥到 git 服务器有以下2种方式)
1、复制本地 id_rsa.pub
到 git 服务器的 /home/username/.ssh/authorized_keys
文件的末尾
2、通过 ftp 等方式上传后,执行以下命令:
cat 源秘钥文件路径 >> /home/git/.ssh/authorized_keys
这样
注意:是服务端的 ~
目录(root 目录),不是 admin 目录...
本地多用户
本地需要进行多用户时需要使用到 凭据管理器(Credential manager)
把这个删掉就可以重新登陆到其他的用户了
忽略文件
上传 Java 项目到 git 上进行版本管理,一般都会有一个忽略文件 .gitignore
这个文件用来将一些不需要上传的文件进行过滤
git 提供的 模板
手动配置全局的 .gitconfig
(注意路径用的是正斜杠/
)
[core]
excludesfile = C:/Users/alsritter/Java.gitignore